// JavaScript Document
// 占位符替换
// str 占位字符串
// num 需要替换的内容
function JunPage_Orep(str,num){
	for(str, i=0; i<num.length; i++){
		str = str.replace(new RegExp("\\["+i+"\\]","g"), num[i]); 
	}
	return str;
}
// 占位符替换
// str 占位字符串
// num 需要替换的内容
function JunPage_Page(str,num){
	str = str.replace(new RegExp("\\[#]","g"),num); 
	return str;
}

//将分页配置丢进来
function JunPage_FenYe(config){
	//分页样式 - 只有等于普通分页,AJAX点击分页,才会生成分页样式
	if(config['Mode'] == 1 || config['Mode'] == 2 ){
		var ID = parseInt(config['Page']);//获得当前分页数 - 必须转整型
		
		var pagenum = Math.ceil((config['PageNum'])/(config['PageBer']));//共有多少页
		var PvHtml  = '';//用来存储分页样式实体
		PvHtml += '<div class="pull-right page-box"><div class="pagination-info">共有'+config['PageNum']+'条，每页显示：'+config['PageBer']+'条</div><ul class="pagination">';
		
		//等于空,则为初始化分页样式
		if(ID == null || ID == 1){//第一页
			ID = 1;
			var pre_page = 1;//作用向前递减值,功能上一页
			var next_page= 2;//作用向后递增值,功能下一页
			PvHtml += '<li><a href="'+JunPage_Page(config['PageUrl'],1)+'">«</a></li><li><a href="'+JunPage_Page(config['PageUrl'],1)+'">‹</a></li>';
		}else{
			var pre_page = (ID == 1) ? 1 : ID-1;//作用向前递减值,功能上一页
			var next_page= (ID == pagenum) ? pagenum : ID+1 ; //作用向后递增值,功能下一页
			PvHtml += '<li><a href="'+JunPage_Page(config['PageUrl'],1)+'">«</a></li><li><a href="'+JunPage_Page(config['PageUrl'],pre_page)+'">‹</a></li>';
		}
		
		//分页算法开始
		// 左侧分页,
		if(ID <= (config['PageMax'] / 2)){
			for (var pageI=1;pageI<ID;pageI++){
				PvHtml += '<li><a href="'+JunPage_Page(config['PageUrl'],pageI)+'">'+pageI+'</a></li>';
			}
		}else{
			for (var pageI=(ID - config['PageMax'] / 2);pageI<ID;pageI++){
				PvHtml += '<li><a href="'+JunPage_Page(config['PageUrl'],pageI)+'">'+pageI+'</a></li>';
			}
		}
		//右侧分页
		for (var pageI=ID;pageI<=(config['PageMax'] / 2 + ID);pageI++){
			if(pageI == ID){//选中分页
				PvHtml += '<li class="active"><a>'+pageI+'</a></li>';
			}else{
				PvHtml += '<li><a href="'+JunPage_Page(config['PageUrl'],pageI)+'">'+pageI+'</a></li>';
			}
			if(pageI == pagenum){break;}
		}
		
		PvHtml += '<li><a href="'+JunPage_Page(config['PageUrl'],next_page)+'">›</a></li><li><a href="'+JunPage_Page(config['PageUrl'],pagenum)+'">»</a></li></ul><div class="pagination-goto"><input class="ipt form-control2 left" id="JunGoPage" type="text"><button type="button" class="btn btn-default left" id="JunGoBtn">GO</button></div></div>';
		
		$('#'+config['PageId']).html(PvHtml);
	}else if(config['Mode'] == 3){
		var ID = parseInt(config['Page']);//获得当前分页数 - 必须转整型
		var pagenum = Math.ceil((config['PageNum'])/(config['PageBer']));//共有多少页
		//点击按钮分页
		if(ID > pagenum){
			var PvHtml  = '<div class="pagination-goto">已全部加载完成……</div>';
		}else{
			var PvHtml  = '<div id="JunPageAjax" class="pagination-goto" title="'+ID+'">点击加载更多……</div>';
		}
		$('#'+config['PageId']).html(PvHtml);
	}else if(config['Mode'] == 4){
		var ID = parseInt(config['Page']);//获得当前分页数 - 必须转整型
		var pagenum = Math.ceil((config['PageNum'])/(config['PageBer']));//共有多少页
		//点击按钮分页
		if(ID > pagenum){
			var PvHtml  = '<div id="JunPageAjax" style="display:none" title="NO"></div>';	
		}else{
			var PvHtml  = '<div id="JunPageAjax" style="display:none" title="'+ID+'"></div>';	
		}
		$('#'+config['PageId']).html(PvHtml);
	}
}

// 小黄牛 JS分页插件
// config = 分页参数
function JunPage(config){
	//分页模式
	switch(config['Mode']){
	case 1:
	  //普通分页
	  var obj = eval(config['PageArray']);
	  //循环出字段信息 - 内容HTML实现
	  var PageHtml = '';
	  //获得字段名
	  var ond = [];
	  var KeyI = 0;
	  for(var i=0;i<obj.length;i++){
	  	 for(var key in obj[i]){
			ond[KeyI] = obj[i][key];
			KeyI++;
		 }
		 PageHtml += JunPage_Orep(config['PageHtml'],ond);
		 ond = [];
		 KeyI = 0;
	  }
	  //分页内容替换
	  $('#'+config['PageCid']).html(PageHtml);
	  //分页样式
	  JunPage_FenYe(config);
	  break;
	case 2:
	  //初始化分页内容
	  var url_1 = JunPage_Page(config['PageUrl'],1);
	  //需要替换ajax地址
	  if(config['AjaxNo'] != null){
		  url_1 = url_1.replace(config['AjaxNo'],config['AjaxYes']);
	  }
	  $.ajax({
			type: config['Ajax'],
			url: url_1,
			success: function(res) {


				  var obj = eval(res);
				  var ORN = obj[1];
				  //循环出字段信息 - 内容HTML实现
				  var PageHtml = '';
				  //获得字段名
				  var ond = [];
				  var KeyI = 0;
				  for(var i=0;i<ORN.length;i++){
					 for(var key in ORN[i]){
						ond[KeyI] = ORN[i][key];
						KeyI++;
					 }
					 PageHtml += JunPage_Orep(config['PageHtml'],ond);
					 ond = [];
					 KeyI = 0;
				  }
				  //分页内容替换
				  $('#'+config['PageCid']).html(PageHtml);
				  config['PageNum'] = obj[2];
				  JunPage_FenYe(config);
			}
		})

	  // AJAX分页,点击分页按钮
	  $('#'+config['PageId']+" ul li a").live('click', function() {
		var pageObj = this;
		var url = pageObj.href;
		//需要替换ajax地址
		if(config['AjaxNo'] != null){
			url = url.replace(config['AjaxNo'],config['AjaxYes']);
		}
		$.ajax({
			type: config['Ajax'],
			url: url,
			success: function(res) {
				  var obj = eval(res);
				  var ORN = obj[1];
				  //循环出字段信息 - 内容HTML实现
				  var PageHtml = '';
				  //获得字段名
				  var ond = [];
				  var KeyI = 0;
				  for(var i=0;i<ORN.length;i++){
					 for(var key in ORN[i]){
						ond[KeyI] = ORN[i][key];
						KeyI++;
					 }
					 PageHtml += JunPage_Orep(config['PageHtml'],ond);
					 ond = [];
					 KeyI = 0;
				  }
				  //分页内容替换
				  $('#'+config['PageCid']).html(PageHtml);
				  //更新分页标签
				  config['PageNum'] = obj[2];
				  config['Page'] = obj[0];
				  JunPage_FenYe(config);
			}
		})

		return false;
	  })

	  break;
	case 3:
	  // 点击按钮AJAX加载
	  //初始化分页内容
	  var url_1 = JunPage_Page(config['PageUrl'],config['Page']);
	  //需要替换ajax地址
	  if(config['AjaxNo'] != null){
		  url_1 = url_1.replace(config['AjaxNo'],config['AjaxYes']);
	  }
	  $.ajax({
			type: config['Ajax'],
			url: url_1,
			success: function(res) {
				  var obj = eval(res);
				  var ORN = obj[1];
				  //循环出字段信息 - 内容HTML实现
				  var PageHtml = '';
				  //获得字段名
				  var ond = [];
				  var KeyI = 0;
				  for(var i=0;i<ORN.length;i++){
					 for(var key in ORN[i]){
						ond[KeyI] = ORN[i][key];
						KeyI++;
					 }
					 PageHtml += JunPage_Orep(config['PageHtml'],ond);
					 ond = [];
					 KeyI = 0;
				  }
				  //分页内容累加
				  var html = $('#'+config['PageCid']).html();
				  $('#'+config['PageCid']).html(html+PageHtml);

				  //更新分页标签
				  config['PageNum'] = obj[2];
				  config['Page'] = parseInt(obj[0])+1;
				  JunPage_FenYe(config);
			}
	  });


	  //ajax点击按钮分页开始
	  $('#JunPageAjax').live('click', function() {
		//初始化分页内容
	    var url = JunPage_Page(config['PageUrl'],$(this).attr('title'));
	    //需要替换ajax地址
	    if(config['AjaxNo'] != null){
		  url = url.replace(config['AjaxNo'],config['AjaxYes']);
	    }
		$.ajax({
			type: config['Ajax'],
			url: url,
			success: function(res) {
				  var obj = eval(res);
				  var ORN = obj[1];
				  //循环出字段信息 - 内容HTML实现
				  var PageHtml = '';
				  //获得字段名
				  var ond = [];
				  var KeyI = 0;
				  for(var i=0;i<ORN.length;i++){
					 for(var key in ORN[i]){
						ond[KeyI] = ORN[i][key];
						KeyI++;
					 }
					 PageHtml += JunPage_Orep(config['PageHtml'],ond);
					 ond = [];
					 KeyI = 0;
				  }
				  //分页内容累加
				  var html = $('#'+config['PageCid']).html();
				  $('#'+config['PageCid']).html(html+PageHtml);

				  //更新分页标签
				  config['PageNum'] = obj[2];
				  config['Page'] = parseInt(obj[0])+1;
				  JunPage_FenYe(config);
			}
		});
	  });

	  break;
	case 4:
	  //初始化分页内容
	  var url_1 = JunPage_Page(config['PageUrl'],config['Page']);
	  //需要替换ajax地址
	  if(config['AjaxNo'] != null){
		  url_1 = url_1.replace(config['AjaxNo'],config['AjaxYes']);
	  }
	  $.ajax({
			type: config['Ajax'],
			url: url_1,
			success: function(res) {
				  var obj = eval(res);
				  var ORN = obj[1];
				  //循环出字段信息 - 内容HTML实现
				  var PageHtml = '';
				  //获得字段名
				  var ond = [];
				  var KeyI = 0;
				  for(var i=0;i<ORN.length;i++){
					 for(var key in ORN[i]){
						ond[KeyI] = ORN[i][key];
						KeyI++;
					 }
					 PageHtml += JunPage_Orep(config['PageHtml'],ond);
					 ond = [];
					 KeyI = 0;
				  }
				  //分页内容累加
				  var html = $('#'+config['PageCid']).html();
				  $('#'+config['PageCid']).html(html+PageHtml);

				  //更新分页标签
				  config['PageNum'] = obj[2];
				  config['Page'] = parseInt(obj[0])+1;
				  JunPage_FenYe(config);
			}
	  });

	  //下拉加载分页
	  $(document).scroll(function(){
			var $this = $(this),
			viewH     = $(this).height(),
			contentH  = $(window).height(),
			scrollTop = $(this).scrollTop();
			var PageID=$('#JunPageAjax').attr('title');

			if((contentH+scrollTop) == viewH){
				if(PageID == 'NO'){return false;}
				//初始化分页内容
				var url = JunPage_Page(config['PageUrl'],$('#JunPageAjax').attr('title'));
				//需要替换ajax地址
				if(config['AjaxNo'] != null){
				  url = url.replace(config['AjaxNo'],config['AjaxYes']);
				}

				setTimeout(function(){
					$.ajax({
						type: config['Ajax'],
						url: url,
						success: function(res) {

							  var obj = eval(res);
							  var ORN = obj[1];
							  //循环出字段信息 - 内容HTML实现
							  var PageHtml = '';
							  //获得字段名
							  var ond = [];
							  var KeyI = 0;
							  for(var i=0;i<ORN.length;i++){
								 for(var key in ORN[i]){
									ond[KeyI] = ORN[i][key];
									KeyI++;
								 }
								 PageHtml += JunPage_Orep(config['PageHtml'],ond);
								 ond = [];
								 KeyI = 0;
							  }
							  //分页内容累加
							  var html = $('#'+config['PageCid']).html();
							  $('#'+config['PageCid']).html(html+PageHtml);

							  //更新分页标签
							  config['PageNum'] = obj[2];
							  config['Page'] = parseInt(obj[0])+1;
							  JunPage_FenYe(config);
						}
					});
				},400);
			}
		 });
	  break;
	default:
	  alert('分页模式错误');
	}
}